
/**
 * 函数封装:处理获取token
 * @param {Object} obj 对象:{type, url, data, success}
 */
function request({ type, url, data, success }) {
    // 登录凭证
    const token = window.localStorage.getItem('bignews_token');
    // console.log('obj', obj);
    // 根据输入的参数查询data的类型是否为FormData对象
    const isformData = data instanceof FormData;//布尔值
    // console.log('isformData', isformData);
    const urlStr = 'http://localhost:8080/api/v1';
    // 获取用户信息
    $.ajax({
        type,
        url: `${urlStr}${url}`,
        data,
        headers: {
            // 记得把token放在请求头，否则会出现权限问题
            Authorization: token,
        },
        // 根据是否为FormData对象判断contentType和processData的结果
        // JQ下的contentType的默认情况:application/x-www-form-urlencoded
        // contentType:发送到服务端的数据类型;datatype:接收服务端响应的数据类型
        contentType: isformData ? false : 'application/x-www-form-urlencoded',//保留FormData对象自带的contentType
        processData: isformData ? false : true,//保留FormData对象数据类型,不需要转字符串
        success,
        // 处理不是登录状态
        error: function (err) {
            // console.log('err', err);
            if (err.status === 403) {
                // 跳转登录页:./login.html地址是对应当前跳转的页面(index.html)的地址而写的
                window.location.href = './login.html';
            } else if (err.status === 400) {
                const { msg } = err.responseJSON;
                alert(msg);
            }
        }
    });

}

